from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(被动技能):
    名称 = '基础精通'
    倍率 = 1.0
    所在等级 = 1
    等级上限 = 200
    等级精通 = 110
    关联技能 = ['念珠连射']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)


class 技能1(主动技能):
    名称 = '罪业加身'
    所在等级 = 10
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 252]
    data0 = [int(i) for i in [0, 2627, 2895, 3162, 3428, 3693, 3960, 4228, 4494, 4762, 5027, 5294, 5560, 5828, 6093, 6360, 6625, 6893, 7162, 7427, 7695, 7961, 8226, 8496, 8761, 9027, 9293, 9561, 9827, 10094, 10361, 10626, 10892, 11160, 11427, 11693,
                              11961, 12226, 12493, 12760, 13028, 13295, 13560, 13827, 14094, 14361, 14626, 14894, 15159, 15427, 15695, 15959, 16226, 16492, 16760, 17026, 17294, 17559, 17825, 18091, 18359, 18626, 18893, 19160, 19426, 19694, 19959, 20227, 20493, 20758, 21027]]
    hit0 = 1
    CD = 6.0
    TP成长 = 0.10
    TP上限 = 7


class 技能2(主动技能):
    名称 = '唤雷符'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 5
    MP = [30, 252]
    无色消耗 = 0
    data0 = [0, 2755, 3034, 3314, 3595, 3875, 4154, 4434, 4715, 4994, 5275, 5554, 5830, 6112, 6393, 6673, 6950, 7233, 7510, 7791, 8070, 8347, 8630, 8909, 9189, 9468, 9748, 10029, 10309, 10587, 10869, 11148, 11426, 11706, 11987, 12268, 12548,
             12825, 13104, 13385, 13664, 13943, 14222, 14502, 14784, 15063, 15344, 15622, 15904, 16183, 16461, 16740, 17021, 17300, 17581, 17859, 18138, 18421, 18700, 18977, 19259, 19538, 19817, 20097, 20377, 20656, 20938, 21217, 21497, 21776, 22057]
    hit0 = 1
    TP成长 = 0.10
    TP上限 = 7


class 技能3(主动技能):
    名称 = '念珠连射'
    备注 = '(TP为基础精通)'
    所在等级 = 15
    等级上限 = 1
    基础等级 = 1
    MP = [1, 1]
    # 计算得出的百分比
    data0 = [0, 1.085*132.41]
    hit0 = 6
    CD = 0.0
    TP成长 = 0.10
    TP上限 = 5


class 技能4(主动技能):
    名称 = '木槵子经'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 4
    MP = [30, 252]
    无色消耗 = 0
    data0 = [0, 398, 440, 483, 524, 563, 603, 645, 685, 726, 767, 807, 847, 890, 928, 971, 1011, 1053, 1093, 1134, 1175, 1214, 1256, 1296, 1338, 1377, 1419, 1461, 1500, 1541, 1583, 1622, 1664, 1703, 1746, 1786,
             1825, 1867, 1905, 1948, 1990, 2030, 2070, 2111, 2153, 2192, 2233, 2275, 2316, 2355, 2396, 2436, 2479, 2519, 2560, 2599, 2642, 2683, 2722, 2763, 2804, 2846, 2886, 2926, 2969, 3008, 3049, 3088, 3132, 3172, 3211]
    hit0 = 6
    TP成长 = 0.10
    TP上限 = 7


class 技能5(主动技能):
    名称 = "束灵符"
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 7
    MP = [40, 300]
    无色消耗 = 0
    data0 = [0, 3778, 4159, 4545, 4928, 5310, 5695, 6076, 6461, 6845, 7227, 7610, 7994, 8378, 8760, 9144, 9528, 9910, 10294, 10677, 11059, 11444, 11828, 12211, 12594, 12977, 13361, 13744, 14126, 14511, 14895, 15277, 15661, 16043, 16427, 16812,
             17193, 17579, 17960, 18344, 18728, 19110, 19495, 19878, 20261, 20643, 21028, 21410, 21795, 22176, 22561, 22946, 23327, 23711, 24092, 24478, 24861, 25244, 25627, 26010, 26395, 26777, 27160, 27545, 27928, 28310, 28694, 29076, 29462, 29845, 30227]
    hit0 = 1

    TP成长 = 0.10
    TP上限 = 7


class 技能6(主动技能):
    名称 = "驱邪咒"
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [35, 350]
    无色消耗 = 0
    data0 = [0, 649, 718, 783, 849, 914, 982, 1047, 1113, 1181, 1245, 1312, 1377, 1445, 1510, 1575, 1645, 1711, 1774, 1840, 1909, 1972, 2041, 2107, 2173, 2237, 2302, 2372, 2437, 2501, 2567, 2637, 2701, 2768, 2835, 2899,
             2966, 3031, 3099, 3164, 3230, 3297, 3364, 3428, 3494, 3563, 3627, 3693, 3758, 3826, 3891, 3957, 4024, 4090, 4155, 4221, 4290, 4354, 4421, 4487, 4554, 4619, 4684, 4751, 4817, 4881, 4949, 5017, 5081, 5147, 5215]
    hit0 = 15

    TP上限 = 7
    TP倍率 = 0.1


class 技能7(被动技能):
    名称 = '祈雨祭'
    所在等级 = 25
    等级上限 = 20
    基础等级 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.00 + 0.02 * self.等级, 5)


class 技能8(主动技能):
    名称 = "和合之玉"
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 12
    MP = [150, 420]
    无色消耗 = 0
    data0 = [0, 5877, 6474, 7070, 7666, 8263, 8860, 9455, 10052, 10648, 11244, 11841, 12437, 13033, 13630, 14226, 14824, 15420, 16014, 16612, 17208, 17806, 18401, 18997, 19595, 20190, 20787, 21384, 21978, 22575, 23172, 23769, 24364, 24961, 25558, 26153,
             26751, 27347, 27941, 28539, 29135, 29733, 30328, 30924, 31522, 32118, 32714, 33311, 33906, 34503, 35099, 35696, 36293, 36888, 37485, 38082, 38678, 39273, 39870, 40467, 41062, 41660, 42256, 42851, 43449, 44045, 44643, 45237, 45833, 46431, 47026]
    hit0 = 1
    data1 = [0, 2517, 2774, 3030, 3284, 3541, 3796, 4052, 4306, 4562, 4819, 5074, 5330, 5585, 5841, 6098, 6351, 6608, 6863, 7118, 7375, 7630, 7887, 8140, 8396, 8652, 8908, 9163, 9419, 9675, 9931, 10185, 10441, 10697, 10953, 11207, 11464,
             11719, 11976, 12231, 12485, 12742, 12997, 13252, 13509, 13764, 14021, 14274, 14530, 14786, 15041, 15298, 15553, 15809, 16064, 16320, 16576, 16831, 17086, 17342, 17598, 17853, 18109, 18365, 18620, 18876, 19130, 19387, 19643, 19899, 20154]
    hit1 = 1

    TP成长 = 0.1
    TP上限 = 7


class 技能9(被动技能):
    名称 = '神术强化'
    所在等级 = 30
    等级上限 = 20
    基础等级 = 10

    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 <= 10:
            return round(1.05 + 0.015 * self.等级, 5)
        else:
            return round(1.00 + 0.02 * self.等级, 5)


class 技能10(主动技能):
    名称 = "聚魂吸星符"
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 15
    MP = [200, 850]
    无色消耗 = 1
    data0 = [0, 541, 598, 650, 708, 760, 818, 874, 929, 984, 1039, 1095, 1147, 1205, 1257, 1314, 1368, 1424, 1478, 1535, 1588, 1645, 1699, 1755, 1809, 1866, 1919, 1975, 2030, 2085, 2140, 2196, 2250, 2306, 2360, 2416,
             2471, 2526, 2580, 2637, 2690, 2747, 2801, 2857, 2911, 2968, 3021, 3078, 3132, 3188, 3242, 3299, 3352, 3408, 3464, 3518, 3574, 3628, 3684, 3739, 3794, 3849, 3904, 3959, 4014, 4070, 4124, 4180, 4235, 4290, 4345]
    hit0 = 19

    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 22
        self.倍率 *= 1.19
        self.CDR *= 0.95


class 技能11(主动技能):
    名称 = '龙魂之怒'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 20
    MP = [250, 1260]
    无色消耗 = 1
    data0 = [0, 14569, 16050, 17526, 19005, 20482, 21961, 23440, 24919, 26395, 27875, 29352, 30830, 32309, 33787, 35266, 36743, 38220, 39700, 41178, 42656, 44136, 45613, 47092, 48568, 50048, 51527, 53003, 54482, 55962, 57438, 58917, 60395, 61873, 63353, 64830,
             66307, 67786, 69265, 70744, 72222, 73700, 75180, 76655, 78134, 79613, 81090, 82569, 84048, 85525, 87003, 88483, 89960, 91439, 92917, 94394, 95873, 97352, 98830, 100309, 101786, 103265, 104742, 106220, 107700, 109176, 110657, 112135, 113612, 115090, 116570]
    hit0 = 1

    TP成长 = 0.1
    TP上限 = 5


class 技能12(主动技能):
    名称 = '百八念珠'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 25
    MP = [250, 1260]
    无色消耗 = 1
    data0 = [0, 1102, 1214, 1327, 1439, 1550, 1660, 1773, 1885, 1998, 2110, 2220, 2334, 2444, 2558, 2669, 2781, 2890, 3004, 3115, 3229, 3340, 3452, 3562, 3676, 3786, 3900, 4012, 4120, 4236, 4346, 4460, 4572, 4683, 4797,
             4907, 5019, 5129, 5243, 5356, 5465, 5579, 5690, 5804, 5915, 6027, 6135, 6248, 6360, 6473, 6584, 6698, 6807, 6923, 7031, 7144, 7254, 7367, 7478, 7592, 7704, 7816, 7929, 8039, 8150, 8265, 8375, 8488, 8600, 8711, 8824]
    hit0 = 20
    data1 = [0, 1372, 1512, 1654, 1792, 1932, 2069, 2210, 2350, 2488, 2629, 2767, 2907, 3048, 3187, 3326, 3464, 3605, 3744, 3885, 4023, 4163, 4300, 4441, 4580, 4721, 4860, 4999, 5137, 5279, 5420, 5556, 5694, 5836, 5975, 6116,
             6256, 6393, 6531, 6673, 6813, 6952, 7092, 7229, 7368, 7509, 7650, 7788, 7929, 8067, 8207, 8346, 8485, 8624, 8765, 8904, 9044, 9181, 9323, 9461, 9600, 9741, 9880, 10019, 10160, 10299, 10437, 10575, 10717, 10858, 10996]
    hit1 = 0
    power0 = 1
    power1 = 1

    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    形态 = ["单体", "范围"]

    def 形态变更(self, 形态, char: Character):
        if 形态 == '' and len(self.形态) > 0:
            形态 = self.形态[0]
        if 形态 == "单体":
            self.hit0 = 20
            self.hit1 = 0
        if 形态 == "范围":
            self.hit0 = 0
            self.hit1 = 10

    def 装备护石(self, char):
        # self.倍率 *= 1.27
        self.power0 *= 1.27
        self.power1 *= 1.14
        self.CDR *= 0.83


class 技能13(主动技能):
    名称 = '不动珠箔阵'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    CD = 45
    MP = [250, 2500]
    无色消耗 = 2
    data0 = [0, 684, 751, 822, 891, 962, 1032, 1101, 1171, 1238, 1309, 1378, 1448, 1518, 1588, 1655, 1726, 1794, 1865, 1935, 2003, 2072, 2142, 2212, 2282, 2351, 2420, 2490, 2559, 2629, 2698, 2769, 2836, 2907, 2976, 3045,
             3115, 3186, 3253, 3324, 3394, 3462, 3531, 3603, 3671, 3740, 3811, 3879, 3949, 4019, 4088, 4157, 4227, 4296, 4366, 4434, 4504, 4575, 4644, 4714, 4783, 4852, 4921, 4992, 5060, 5130, 5200, 5269, 5337, 5408, 5477]
    hit0 = 24
    data1 = [0, 10955, 12068, 13179, 14291, 15402, 16515, 17625, 18736, 19849, 20960, 22073, 23183, 24295, 25406, 26519, 27630, 28741, 29854, 30965, 32076, 33187, 34300, 35412, 36523, 37636, 38745, 39857, 40968, 42082, 43193, 44305, 45415, 46526, 47639,
             48750, 49862, 50975, 52086, 53196, 54308, 55420, 56533, 57643, 58757, 59866, 60979, 62089, 63201, 64314, 65425, 66536, 67647, 68760, 69871, 70983, 72096, 73207, 74317, 75428, 76540, 77652, 78765, 79876, 80986, 82099, 83210, 84322, 85432, 86546, 87655]
    hit1 = 1

    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.17
        self.CDR *= 0.90


class 技能14(主动技能):
    名称 = '神龙如意珠'
    备注 = '(1次)'
    是否主动 = 0
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    data0 = [0, 526, 611, 694, 779, 862, 946, 1030, 1113, 1198, 1282, 1366, 1450, 1534, 1618, 1702, 1786, 1870, 1954, 2038, 2121, 2207, 2290, 2374, 2458, 2542,
             2626, 2710, 2794, 2878, 2962, 3046, 3130, 3213, 3298, 3382, 3466, 3550, 3634, 3718, 3802, 3886, 3970, 4054, 4138, 4222, 4306, 4390, 4474, 4558, 4642]
    hit0 = 1

    CD = 0.5
    关联技能 = ['所有']

    def 等效CD(self, **argv):
        return 0.5

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.115 + 0.015 * self.等级, 5)


class 技能15(主动技能):
    名称 = '神谕：神龙雷雨祭'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 145
    MP = [900, 7559]
    无色消耗 = 5
    data0 = [0, 3522, 4339, 5157, 5975, 6790, 7608, 8425, 9242, 10059, 10877, 11692, 12511, 13329, 14145, 14961, 15779, 16597, 17413, 18229, 19047, 19865, 20681, 21499, 22315, 23131,
             23950, 24767, 25582, 26400, 27218, 28036, 28852, 29669, 30487, 31304, 32120, 32938, 33757, 34571, 35389, 36205, 37023, 37841, 38657, 39474, 40291, 41109, 41926, 42743, 43559]
    hit0 = 16
    data1 = [0, 24160, 29764, 35368, 40971, 46572, 52177, 57778, 63381, 68984, 74586, 80191, 85793, 91398, 96999, 102603, 108204, 113806, 119411, 125014, 130617, 136220, 141823, 147425, 153027, 158630,
             164234, 169837, 175441, 181043, 186646, 192249, 197851, 203454, 209058, 214660, 220264, 225866, 231469, 237071, 242673, 248278, 253880, 259484, 265086, 270690, 276292, 281895, 287498, 293101, 298704]
    hit1 = 1


class 技能16(主动技能):
    名称 = '因果业火符'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 30
    MP = [400, 1620]
    无色消耗 = 1
    data0 = [0, 2392, 2636, 2879, 3124, 3362, 3607, 3850, 4094, 4335, 4579, 4822, 5066, 5307, 5550, 5792, 6037, 6279, 6520, 6765, 7008, 7250, 7493, 7736, 7979, 8221, 8464,
             8709, 8950, 9193, 9437, 9680, 9923, 10164, 10407, 10651, 10894, 11136, 11379, 11622, 11867, 12105, 12350, 12593, 12837, 13079, 13322, 13565, 13809, 14051, 14295]
    hit0 = 7
    data1 = [0, 9022, 9938, 10854, 11770, 12685, 13601, 14513, 15431, 16345, 17263, 18179, 19092, 20010, 20923, 21839, 22758, 23670, 24586, 25500, 26417, 27332, 28247, 29163, 30078,
             30993, 31910, 32824, 33740, 34656, 35571, 36489, 37402, 38318, 39232, 40149, 41064, 41979, 42897, 43811, 44726, 45642, 46557, 47472, 48389, 49304, 50220, 51135, 52051, 52968, 53881]
    hit1 = 1

    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    MP = [400, 1620]
    无色消耗 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.33


class 技能17(主动技能):
    名称 = '夺命大念阵'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 50
    MP = [800, 1680]
    无色消耗 = 2
    data0 = [0, 3074, 3386, 3697, 4008, 4321, 4633, 4945, 5256, 5567, 5880, 6191, 6504, 6816, 7131, 7441, 7752, 8064, 8378, 8689, 9000, 9311, 9625, 9936, 10247, 10559, 10874,
             11185, 11495, 11807, 12122, 12434, 12745, 13055, 13369, 13680, 13994, 14302, 14617, 14929, 15240, 15552, 15864, 16175, 16489, 16800, 17113, 17424, 17737, 18049, 18361]
    hit0 = 6
    data1 = [0, 27674, 30482, 33289, 36097, 38902, 41713, 44520, 47329, 50134, 52943, 55752, 58558, 61367, 64173, 66981, 69789, 72597, 75402, 78212, 81019, 83825, 86634, 89441, 92251, 95056, 97864,
             100671, 103481, 106290, 109096, 111903, 114711, 117520, 120325, 123134, 125941, 128747, 131556, 134364, 137172, 139978, 142788, 145594, 148402, 151210, 154016, 156824, 159633, 162438, 165246]
    hit1 = 1

    TP成长 = 0.1
    TP上限 = 5
    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.32


class 技能18(主动技能):
    名称 = '退魔阴阳符'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 40
    MP = [580, 4500]
    无色消耗 = 3
    data0 = [0, 791, 870, 950, 1031, 1111, 1194, 1272, 1353, 1434, 1515, 1595, 1674, 1754, 1835, 1915, 1995, 2075, 2156, 2236, 2318, 2398, 2477, 2558, 2639,
             2720, 2800, 2880, 2960, 3040, 3121, 3201, 3280, 3360, 3443, 3523, 3604, 3682, 3762, 3843, 3924, 4005, 4085, 4166, 4246, 4326, 4407, 4486, 4566, 4646, 4727]
    hit0 = 1
    data1 = [0, 6531, 7194, 7857, 8521, 9184, 9846, 10508, 11174, 11835, 12497, 13162, 13823, 14486, 15149, 15812, 16475, 17138, 17801, 18461, 19126, 19788, 20451, 21116, 21777, 22440,
             23103, 23767, 24427, 25091, 25754, 26415, 27079, 27742, 28405, 29066, 29731, 30394, 31054, 31720, 32382, 33044, 33710, 34371, 35034, 35697, 36359, 37020, 37685, 38348, 39009]
    hit1 = 12

    是否有护石 = 1

    def 装备护石(self, char):
        self.倍率 *= 1.32


class 技能19(被动技能):
    名称 = '龙神之力'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    关联技能 = ['所有']
    # 二觉被动双加成
    关联技能1 = ['念珠连射']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.23 + 0.02 * self.等级, 5)

    def 加成倍率1(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能20(主动技能):
    名称 = '天坠阴阳玉'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 45
    MP = [580, 4500]
    无色消耗 = 5
    data0 = [0, 5192, 5718, 6243, 6772, 7297, 7825, 8350, 8878, 9403, 9932, 10459, 10985, 11510, 12037, 12564, 13091, 13617, 14143, 14671, 15197, 15724, 16252, 16778, 17305, 17830,
             18359, 18884, 19412, 19937, 20466, 20992, 21518, 22047, 22572, 23100, 23625, 24153, 24678, 25204, 25731, 26258, 26784, 27311, 27839, 28366, 28892, 29419, 29946, 30472, 30998]
    hit0 = 3
    data1 = [0, 61320, 67540, 73763, 79981, 86201, 92424, 98645, 104867, 111087, 117308, 123526, 129748, 135970, 142191, 148413, 154634, 160853, 167074, 173295, 179516, 185738, 191959, 198180, 204400, 210621,
             216841, 223063, 229284, 235505, 241727, 247946, 254168, 260387, 266609, 272830, 279051, 285274, 291493, 297714, 303935, 310155, 316377, 322597, 328821, 335040, 341260, 347482, 353701, 359924, 366144]
    hit1 = 1

    是否有护石 = 1

    def 装备护石(self, char):
        self.hit0 = 0
        self.倍率 *= 1.61
        self.CDR *= 0.86


class 技能21(主动技能):
    名称 = '龙威如狱·龙恩如海'
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 180
    MP = [2500, 5000]
    无色消耗 = 10
    data0 = [0, 5524, 6805, 8086, 9370, 10650, 11932, 13213, 14493, 15776, 17057, 18337, 19619, 20901, 22182, 23464, 24745, 26026, 27307, 28588, 29870, 31152, 32433, 33715, 34996, 36276,
             37559, 38841, 40122, 41404, 42686, 43968, 45249, 46529, 47811, 49092, 50373, 51655, 52937, 54217, 55499, 56781, 58062, 59343, 60624, 61905, 63186, 64468, 65751, 67032, 68312]
    hit0 = 9
    data1 = [0, 8287, 10210, 12132, 14053, 15976, 17898, 19821, 21743, 23664, 25586, 27508, 29430, 31354, 33275, 35197, 37119, 39042, 40962, 42886, 44807, 46730, 48650, 50573, 52494,
             54418, 56339, 58261, 60183, 62106, 64028, 65949, 67873, 69794, 71717, 73638, 75560, 77481, 79405, 81326, 83249, 85169, 87092, 89013, 90938, 92857, 94781, 96702, 98625, 100549, 102469]
    hit1 = 6
    data2 = [0, 66310, 81687, 97064, 112440, 127817, 143192, 158570, 173946, 189322, 204700, 220077, 235452, 250828, 266205, 281583, 296959, 312336, 327711, 343088, 358464, 373842, 389218, 404594, 419972, 435348,
             450723, 466102, 481479, 496854, 512231, 527607, 542984, 558361, 573738, 589113, 604490, 619866, 635244, 650620, 665996, 681371, 696750, 712125, 727504, 742879, 758256, 773632, 789009, 804385, 819763]
    hit2 = 1


class 技能22(被动技能):
    名称 = '乾坤之境'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40
    关联技能 = ['所有']

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能23(主动技能):
    名称 = '天泽神龙阵'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40
    CD = 60
    MP = [870, 6750]
    无色消耗 = 7
    data0 = [0, 10158, 11188, 12220, 13249, 14280, 15312, 16342, 17375, 18405, 19436, 20464, 21495, 22525, 23556, 24586, 25620, 26651, 27680, 28711, 29741, 30772, 31802, 32834, 33863,
             34894, 35926, 36956, 37988, 39018, 40049, 41078, 42109, 43139, 44171, 45202, 46233, 47264, 48293, 49325, 50355, 51386, 52416, 53447, 54477, 55508, 56540, 57570, 58601, 59632, 60663]
    hit0 = 10
    data1 = [0, 57384, 63204, 69027, 74848, 80669, 86492, 92312, 98134, 103956, 109777, 115598, 121422, 127241, 133065, 138888, 144708, 150529, 156352, 162174, 167993, 173816, 179638, 185460, 191281, 197102,
             202924, 208746, 214567, 220388, 226210, 232032, 237853, 243677, 249496, 255317, 261141, 266963, 272786, 278606, 284428, 290250, 296072, 301892, 307714, 313536, 319358, 325179, 331000, 336822, 342646]
    hit1 = 1


class 技能24(主动技能):
    名称 = '神龙之舞·天一'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40
    CD = 290
    MP = [4000, 8000]
    无色消耗 = 15
    data0 = [0, 30420, 37476, 44528, 51583, 58637, 65691, 72746, 79798, 86854, 93909, 100960, 108018, 115071, 122124, 129180, 136233, 143288, 150341, 157396, 164450, 171503, 178560, 185613, 192667, 199723,
             206775, 213830, 220883, 227938, 234992, 242048, 249102, 256155, 263210, 270263, 277317, 284373, 291425, 298481, 305536, 312589, 319645, 326697, 333751, 340806, 347860, 354914, 361968, 369021, 376077]
    hit0 = 5
    data1 = [0, 101402, 124917, 148431, 171944, 195459, 218974, 242488, 266001, 289514, 313028, 336544, 360058, 383571, 407086, 430600, 454113, 477628, 501141, 524655, 548172, 571685, 595200, 618713, 642226, 665742,
             689256, 712769, 736283, 759798, 783311, 806825, 830339, 853853, 877367, 900882, 924396, 947908, 971423, 994938, 1018452, 1041966, 1065480, 1088993, 1112509, 1136022, 1159535, 1183050, 1206564, 1230078, 1253593]
    hit1 = 1
    data2 = [0, 36215, 44613, 53010, 61410, 69807, 78204, 86602, 95000, 103399, 111795, 120195, 128592, 136990, 145388, 153786, 162184, 170579, 178980, 187378, 195774, 204173, 212570, 220968, 229365, 237764,
             246162, 254559, 262957, 271355, 279753, 288152, 296549, 304948, 313344, 321742, 330142, 338538, 346937, 355334, 363733, 372130, 380527, 388927, 397323, 405722, 414120, 422518, 430915, 439312, 447712]
    hit2 = 7


class classChange(Character):
    def __init__(self, equVersion=""):
        self.实际名称 = 'sorceress'
        self.名称 = '神启·巫女'
        self.角色 = '圣职者(女)'
        self.角色类型 = '输出'
        self.职业 = '巫女'
        self.武器选项 = ['念珠']
        self.输出类型选项 = ['魔法百分比']
        self.防具精通属性 = ['智力']
        self.类型 = '魔法百分比'
        self.武器类型 = '念珠'
        self.防具类型 = '布甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.08

        super().__init__(equVersion)
